package entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * The type Bill.
 */
public class Bill extends Common implements Serializable {
    /**
     * The constant serialVersionUID.
     */
    private static final long serialVersionUID = -15601123175096824L;
    /**
     * The Id.
     */
    @TableId(type = IdType.ID_WORKER_STR)
    private String id;

    /**
     * The In id.
     */
    @TableField(value = "inId")
    private String inId;

    /**
     * The Out id.
     */
    @TableField(value = "outId")
    private String outId;

    /**
     * The Money.
     */
    private Double money;

    /**
     * The Status.
     */
    private Integer status;

    /**
     * The Description.
     */
    private String description;

    /**
     * 支付宝交易号
     */
    private String tradeNo;

    /**
     * The Create time.
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "createTime")
    private Date createTime;

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    /**
     * Gets id.
     *
     * @return the id
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public String getId() {
        return id;
    }

    /**
     * Sets id.
     *
     * @param id the id
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Gets serial version uid.
     *
     * @return the serial version uid
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    /**
     * Gets in id.
     *
     * @return the in id
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public String getInId() {
        return inId;
    }

    /**
     * Sets in id.
     *
     * @param inId the in id
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public void setInId(String inId) {
        this.inId = inId;
    }

    /**
     * Gets out id.
     *
     * @return the out id
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public String getOutId() {
        return outId;
    }

    /**
     * Sets out id.
     *
     * @param outId the out id
     * @author overlook
     * @date 2022 -04-16 20:29:59
     */
    public void setOutId(String outId) {
        this.outId = outId;
    }

    /**
     * Gets money.
     *
     * @return the money
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public Double getMoney() {
        return money;
    }

    /**
     * Sets money.
     *
     * @param money the money
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public void setMoney(Double money) {
        this.money = money;
    }

    /**
     * Gets status.
     *
     * @return the status
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * Sets status.
     *
     * @param status the status
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * Gets description.
     *
     * @return the description
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets description.
     *
     * @param description the description
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * Gets create time.
     *
     * @return the create time
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    @Override
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * Sets create time.
     *
     * @param createTime the create time
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * Instantiates a new Bill.
     *
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public Bill() {
    }

    /**
     * To string string.
     *
     * @return the string
     */
    @Override
    public String toString() {
        return "Bill{" +
                "id='" + id + '\'' +
                ", inId='" + inId + '\'' +
                ", outId='" + outId + '\'' +
                ", money=" + money +
                ", status=" + status +
                ", description='" + description + '\'' +
                ", tradeNo='" + tradeNo + '\'' +
                ", createTime=" + createTime +
                '}';
    }

    /**
     * Instantiates a new Bill.
     *
     * @param id          the id
     * @param inId        the in id
     * @param outId       the out id
     * @param money       the money
     * @param status      the status
     * @param description the description
     * @param createTime  the create time
     * @author overlook
     * @date 2022 -04-16 20:30:00
     */
    public Bill(String id, String inId, String outId, Double money, Integer status, String description, Date createTime) {
        this.id = id;
        this.inId = inId;
        this.outId = outId;
        this.money = money;
        this.status = status;
        this.description = description;
        this.createTime = createTime;
    }
}

